The importance of information systems, as well as their sizes, have increased dramatically over the last decades. In order to preserve information and the ability to process it, various techniques have been developed. One of these techniques is known as failure recovery (also known as disaster recovery). A system that is capable of failure recovery includes a primary site (also referred to as production site) and a recovery site (also referred to as secondary site). Once the primary site fails the secondary site is supposed to replace it. It is noted that various systems can include multiple secondary sites and, alternatively or additionally, multiple primary sites.
A typical secondary site can store a large amount of information as well as host a large amount of application code.
To ensure that a secondary site will be able to fulfill its function if the production site fails, it is necessary to test it.
Similarly, systems are tested before deploying code upgrades in production.
In both these cases—recovery and code upgrade—and conceivably in others as well, there is a production system and an alternative system. A test is conducted to ensure that the alternative system will be able to fulfill its role when necessary.
The quality of an alternative system test depends, among others, on the extent to which application code in the alternative system was exercised, and on the extent to which information in the alternative system was accessed.
It is usually impossible to know if an alternative system test has been comprehensive enough to adequately ensure suitable operation of the alternative system in a case of failure of the production system. It is easy to run into situations where there is a mismatch between application code and data in the alternative system, but the mismatch was not detected due to an oversight during test planning.
There is a need to provide efficient methods, systems and computer program products for checking an alternative system test.